public class Solution {
    public int hammingDistance(int x, int y) {
        return Integer.bitCount(x ^ y);
    }

    public static void main(String[] args) {
        Solution solution = new Solution();
        int[][] testCases = {
                {1, 4},  // 二进制表示为 0001 和 0100，汉明距离为 2
                {3, 1},  // 二进制表示为 0011 和 0001，汉明距离为 1
                {25, 30}, // 二进制表示为 11001 和 11110，汉明距离为 3
                {0, 0},  // 二进制表示为 0000 和 0000，汉明距离为 0
                {123, 456} // 二进制表示为 1111011 和 111001000，汉明距离为 5
        };

        for (int[] testCase : testCases) {
            int x = testCase[0];
            int y = testCase[1];
            int distance = solution.hammingDistance(x, y);
            System.out.println("汉明距离(" + x + ", " + y + "): " + distance);
        }
    }
}